<?php
class Paginacion
{
	protected static $_consulta;
	protected static $_url;
	protected static $_carro;
	protected static $_cantidad;
	protected static $_multiplo;
	protected static $_pagina;
	protected static $_inicio;
	protected static $_total;
	
	public static function Contenido($consulta, $url,$cantidad, $multiplo)
	{
		self::$_consulta=$consulta;
		self::$_url=$url;
		self::$_cantidad=$cantidad;
		self::$_multiplo=$multiplo;
		
		self::Sesion();
		$fila=self::Registros($consulta);
		if($fila>0)
		{ 
			self::$_pagina = false;          
			if (isset($_GET["pagina"])):
				self::$_pagina = $_GET["pagina"]; 
			endif;	
	
			if (!self::$_pagina): 
				self::$_inicio = 0;
				self::$_pagina = 1;
			else: 
				self::$_inicio = (self::$_pagina - 1)*self::$_cantidad;
			endif;
			
			self::$_total=ceil($fila/self::$_cantidad);
			$sql = $consulta." order by producto DESC LIMIT :inicio , :cantidad";
			Consulta::Sql($sql,array('inicio'=>self::$_inicio,'cantidad'=>self::$_cantidad));
			self::tabla();
			
			self::paginas();
           

		}
	} 
		
	public static function Registros($sql)
	{
		Consulta::Sql($sql,null);
		$fila=Consulta::filas();
		Consulta::finalizarSentencia();
		return $fila;
	}
	
	public static function Sesion()
	{
		session_start();
		if(isset($_SESSION["carro"]))
		{
			self::$_carro=$_SESSION["carro"]; 
		}
		else 
		{
			self::$_carro=false;
		}
	}
	
	public static function tabla()
	{
	   
		Vista::Imprimir('<table border="1">');
		Vista::Imprimir('<tr>');
		$i=0; 
		foreach(Consulta::arrayFila() as $fila): 
		$i=$i+1;
		Vista::Imprimir('<td>');
		Vista::Imprimir($fila[1]);
		Vista::Imprimir('<input type="number" name="cantidad" min="1" max="50">');
		if(!self::$_carro || !isset(self::$_carro[md5($fila[0])]) || self::$_carro [md5($fila[0])]!=md5($fila[0])):
	        Vista::Imprimir('<a href="agregacar.php?'.SID.'&id='.$fila[0].'&cantidad='.@($_GET['cantidad']).'"><img src="productonoagregado.gif" border="0" title="Agregar al carrito" /></a>');
		else:
			Vista::Imprimir('<a href="borracar.php?'.SID.'&id='.$fila[0].'"><img src="productoagregado.gif" border="0" title="Agregar al carrito" /></a>');			
		endif; 
		Vista::Imprimir('</td>');
		if ($i % self::$_multiplo == 0):
			Vista::Imprimir('</tr>');
			Vista::Imprimir('<tr>');
		endif;
		endforeach;
		Vista::Imprimir('</tr>');
		Vista::Imprimir('</table>');
		Vista::Imprimir('<hr>');
	}
	
	public static function paginas()
	{	
		if (self::$_total> 1):  
			Vista::Imprimir('<div class="pagination">');
			Vista::Imprimir('<ul>');
			
			if (self::$_pagina>=5):
			Vista::Imprimir('<li><a href="'.self::$_url.'?pagina=1" class="paginate">Inicio</a></li>');
			endif; 	
		
			if (self::$_pagina != 1): 
			Vista::Imprimir('<li><a href="'.self::$_url.'?pagina='.(self::$_pagina-1).'" class="paginate">Inicio</a></li>');
			endif; 
		
		    for ($i=1;$i<=self::$_total; $i++):  
			if (self::$_pagina ==$i): 
				Vista::Imprimir('<li class="active"><a>'.self::$_pagina.'</a></li>');
			else: 
				Vista::Imprimir('<li><a href="'.self::$_url.'?pagina='.$i.'" class="paginate">'.$i.'</a></li>');
			endif; 
			endfor; 		
		
		    if (self::$_pagina != self::$_total): 
		    Vista::Imprimir('<li><a href="'.self::$_url.'?pagina='.(self::$_pagina+1).'" class="paginate">Siguiente</a></li>');
		    Vista::Imprimir('<li><a href="'.self::$_url.'?pagina='.self::$_total.'" class="paginate">Fin</a></li>');
		    endif; 	
		endif;	
	}
}
?>

